package com.itlong.cloud.propertyapp.service;

import com.itlong.cloud.POJO.DTO.app.property.app.PropertyAppInspectDTO;
import com.itlong.cloud.POJO.VO.app.property.app.PropertyAppMessageVO;

import java.util.List;
import java.util.Map;

/**
 * <desc>
 *      物业APP消息模块业务逻辑接口
 * </desc>
 *
 * @createDate  2020/1/3
 */
public interface IPropertyAppMessageService {

    /**
     * <desc>
     *      保存公告/内部通知信息
     * </desc>
     *
     * @param projectId 项目id
     * @param title 标题
     * @param postMan 发布人
     * @param content 发布内容
     * @return
     * @Author Zhu.yj
     * @createDate  2020/1/3
     */
    Integer postNotice(String projectId,String title,String postMan,String content, String userId) throws Exception;

    /**
     * <desc>
     *      获取公告列表
     * </desc>
     *
     * @param projectId
     * @return
     * @Author Zhu.yj
     * @createDate  2020/1/3
     */
    Map<String, Object> getNoticeList(String projectId,String pagNum,String userId) throws Exception;

    /**
     * <desc>
     *      获取消息详情，标记已读信息
     * </desc>
     *
     * @param projectId
     * @param noticeId
     * @return
     * @Author Zhu.yj
     * @createDate  2020/1/3
     */
    Map<String, Object> getNoticeDetail(String projectId,String noticeId,String userId) throws Exception;

    /**
     * <desc>
     *      获取消息中心列表
     * </desc>
     *
     * @return 消息中心列表
     * @author wangzhi
     * @createDate 2020/02/17
     */
    Map<String, Object> getMessagesList(PropertyAppInspectDTO propertyAppInspectDTO) throws Exception;

    /**
     * <desc>
     *      获取公告消息内容列表
     * </desc>
     *
     * @param projectId 项目id
     * @return
     * @Author Zhu.yj
     * @createDate  2020/3/13
     */
    List<String> getNoticeContent(String projectId) throws Exception;
}
